package cn.like.entity;

import cn.like.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 菜单(AuthMenu)表实体类
 *
 * @author like
 * @since 2021-07-08 15:59:12
 */
@Data
@TableName("auth_menu")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "菜单")
@SuppressWarnings("serial")
public class AuthMenu extends BaseEntity<AuthMenu> {
	
	public static final String id_col_name = "id";
	public static final String name_col_name = "name";
	public static final String describe__col_name = "describe_";
	public static final String isPublic_col_name = "is_public";
	public static final String path_col_name = "path";
	public static final String component_col_name = "component";
	public static final String isEnable_col_name = "is_enable";
	public static final String sortValue_col_name = "sort_value";
	public static final String icon_col_name = "icon";
	public static final String group__col_name = "group_";
	public static final String parentId_col_name = "parent_id";
	public static final String createUser_col_name = "create_user";
	public static final String createTime_col_name = "create_time";
	public static final String updateUser_col_name = "update_user";
	public static final String updateTime_col_name = "update_time";
	
	
	@TableId(value = "id", type = IdType.ASSIGN_ID)
	@ApiModelProperty(value = "主键")
	@NotNull(message = "id不能为空")
	private Long id;
	
	/**
	 * 菜单名称
	 */
	@ApiModelProperty(value = "菜单名称")
	private String name;
	
	/**
	 * 功能描述
	 */
	@ApiModelProperty(value = "功能描述")
	private String describe_;
	
	/**
	 * 是否公开菜单
	 * 就是无需分配就可以访问的。所有人可见
	 */
	@ApiModelProperty(value = "是否公开菜单 就是无需分配就可以访问的。所有人可见")
	private Integer isPublic;
	
	/**
	 * 对应路由path
	 */
	@ApiModelProperty(value = "对应路由path")
	private String path;
	
	/**
	 * 对应路由组件component
	 */
	@ApiModelProperty(value = "对应路由组件component")
	private String component;
	
	/**
	 * 状态
	 */
	@ApiModelProperty(value = "状态")
	private Integer isEnable;
	
	/**
	 * 排序
	 */
	@ApiModelProperty(value = "排序")
	private Integer sortValue;
	
	/**
	 * 菜单图标
	 */
	@ApiModelProperty(value = "菜单图标")
	private String icon;
	
	/**
	 * 菜单分组
	 */
	@ApiModelProperty(value = "菜单分组")
	private String group_;
	
	/**
	 * 父级菜单id
	 */
	@ApiModelProperty(value = "父级菜单id")
	private Long parentId;
	
	/**
	 * 创建人id
	 */
	@ApiModelProperty(value = "创建人id")
	@TableField(fill = FieldFill.INSERT)
	private Long createUser;
	
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	@TableField(fill = FieldFill.INSERT)
	private LocalDateTime createTime;
	
	/**
	 * 更新人id
	 */
	@ApiModelProperty(value = "更新人id")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Long updateUser;
	
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "更新时间")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private LocalDateTime updateTime;
}